package com.lfz.demo.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author lfz
 * @date 2025/2/26 11:30
 * 数据返回实体
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataView  implements Serializable {
    // DataView序列化支持
    private static final long serialVersionUID = 1L;

    // 默认状态码为0
    private Integer code = 0;
    // 默认消息为空字符串
    private String msg = "";
    // 默认记录总数为0
    private Long count = 0L;
    // 数据对象
    private Object data;

    /**
     * 构造函数，初始化记录总数和数据对象
     * @param count 记录总数
     * @param data 数据对象
     */
    public DataView(Long count, Object data) {
        this.count = count;
        this.data = data;
    }

    /**
     * 构造函数，初始化数据对象
     * @param data 数据对象
     */
    public DataView(Object data) {
        this.data = data;
    }

    /**
     * 构造函数，初始化数据对象
     * @param code 状态码
     * @param msg 消息提醒
     */
    public DataView(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}